package com.douya.mvc.utils;

import com.douya.common.utils.StringUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * 说明:文件上传工具类
 *
 * @Author 胡晨烨
 * @Date 2022/10/19
 */
public class UpLoadFileUtils {

    /**
     * 上传文件
     *
     * @param file 文件
     * @return 是否成功
     */
    public static Boolean uploadFile(MultipartFile file, String filePath) {
        boolean flag = true;
        // 获取文件名
        String fileName = file.getOriginalFilename();
        if (StringUtils.isNotBlank(fileName)) {
            // 生成新的文件名
            String newFileName = StringUtils.uuid() + fileName.substring(fileName.lastIndexOf("."));
            // 创建文件
            File dest = new File(filePath + newFileName);
            // 检测是否存在目录
            if (!dest.getParentFile().exists()) {
                dest.getParentFile().mkdirs();
            }
            try {
                // 保存文件
                file.transferTo(dest);
            } catch (IllegalStateException | IOException e) {
                flag = false;
            }
        } else {
            flag = false;
        }
        return flag;
    }
}
